package com.xuan.meihua.core;

import com.xuan.meihua.core.constant.Constant;
import com.xuan.meihua.core.constant.ConstantPackage;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 梅花易数集合
 *
 * @author kty
 */
public class MeiHuaMap {

    /**
     * 二十四小时对应十二地支
     */
    public static final Map<Integer, String> HOUR_ZHI = new HashMap<Integer, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：0时，地支为[子]
            put(0, Constant.ZI_ZHI);    // 子
            put(1, Constant.CHOU_ZHI);  // 丑
            put(2, Constant.CHOU_ZHI);  // 丑
            put(3, Constant.YIN_ZHI);   // 寅
            put(4, Constant.YIN_ZHI);   // 寅
            put(5, Constant.MAO_ZHI);   // 卯
            put(6, Constant.MAO_ZHI);   // 卯
            put(7, Constant.CHEN_ZHI);  // 辰
            put(8, Constant.CHEN_ZHI);  // 辰
            put(9, Constant.SI_ZHI);    // 巳
            put(10, Constant.SI_ZHI);   // 巳
            put(11, Constant.WU_ZHI);   // 午
            put(12, Constant.WU_ZHI);   // 午
            put(13, Constant.WEI_ZHI);  // 未
            put(14, Constant.WEI_ZHI);  // 未
            put(15, Constant.SHEN_ZHI); // 申
            put(16, Constant.SHEN_ZHI); // 申
            put(17, Constant.YOU_ZHI);  // 酉
            put(18, Constant.YOU_ZHI);  // 酉
            put(19, Constant.XU_ZHI);   // 戌
            put(20, Constant.XU_ZHI);   // 戌
            put(21, Constant.HAI_ZHI);  // 亥
            put(22, Constant.HAI_ZHI);  // 亥
            put(23, Constant.ZI_ZHI);   // 子
        }

    };

    /**
     * 通过[天干]获取：天干五行
     */
    public static final Map<String, String> GAN_WU_XING = new HashMap<String, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：天干为[甲]，五行为[木]
            put(Constant.JIA_GAN, Constant.MU);   // 甲：木
            put(Constant.YI_GAN, Constant.MU);    // 乙：木
            put(Constant.BING_GAN, Constant.HUO); // 丙：火
            put(Constant.DING_GAN, Constant.HUO); // 丁：火
            put(Constant.WU_GAN, Constant.TU);    // 戊：土
            put(Constant.JI_GAN, Constant.TU);    // 己：土
            put(Constant.GENG_GAN, Constant.JIN); // 庚：金
            put(Constant.XIN_GAN, Constant.JIN);  // 辛：金
            put(Constant.REN_GAN, Constant.SHUI); // 壬：水
            put(Constant.GUI_GAN, Constant.SHUI); // 癸：水
        }

    };

    /**
     * 通过[地支]获取：地支五行
     */
    public static final Map<String, String> ZHI_WU_XING = new HashMap<String, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：地支为[子]，五行为[水]
            put(Constant.ZI_ZHI, Constant.SHUI);  // 子：水
            put(Constant.CHOU_ZHI, Constant.TU);  // 丑：土
            put(Constant.YIN_ZHI, Constant.MU);   // 寅：木
            put(Constant.MAO_ZHI, Constant.MU);   // 卯：木
            put(Constant.CHEN_ZHI, Constant.TU);  // 辰：土
            put(Constant.SI_ZHI, Constant.HUO);   // 巳：火
            put(Constant.WU_ZHI, Constant.HUO);   // 午：火
            put(Constant.WEI_ZHI, Constant.TU);   // 未：土
            put(Constant.SHEN_ZHI, Constant.JIN); // 申：金
            put(Constant.YOU_ZHI, Constant.JIN);  // 酉：金
            put(Constant.XU_ZHI, Constant.TU);    // 戌：土
            put(Constant.HAI_ZHI, Constant.SHUI); // 亥：水
        }

    };

    /**
     * 地支对应的数字（用于计算年数、月数、日数、时数）
     */
    public static final Map<String, Integer> DI_ZHI_SHU = new HashMap<String, Integer>() {
        private static final long serialVersionUID = -1;

        {
            // 例：地支为[子]，数字为[1]
            put(Constant.ZI_ZHI, 1);   // 子：1
            put(Constant.CHOU_ZHI, 2); // 丑：2
            put(Constant.YIN_ZHI, 3);  // 寅：3
            put(Constant.MAO_ZHI, 4);  // 卯：4
            put(Constant.CHEN_ZHI, 5); // 辰：5
            put(Constant.SI_ZHI, 6);   // 巳：6
            put(Constant.WU_ZHI, 7);   // 午：7
            put(Constant.WEI_ZHI, 8);  // 未：8
            put(Constant.SHEN_ZHI, 9); // 申：9
            put(Constant.YOU_ZHI, 10); // 酉：10
            put(Constant.XU_ZHI, 11);  // 戌：11
            put(Constant.HAI_ZHI, 12); // 亥：12
        }

    };

    /**
     * 先天八卦顺序：乾一、兑二、离三、震四、巽五、坎六、艮七、坤八
     */
    public static final Map<Integer, String> BA_GUA = new HashMap<Integer, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：1乾
            put(1, Constant.QIAN_NAME); // 1、乾
            put(2, Constant.DUI_NAME);  // 2、兑
            put(3, Constant.LI_NAME);   // 3、离
            put(4, Constant.ZHEN_NAME); // 4、震
            put(5, Constant.XUN_NAME);  // 5、巽
            put(6, Constant.KAN_NAME);  // 6、坎
            put(7, Constant.GEN_NAME);  // 7、艮
            put(8, Constant.KUN_NAME);  // 8、坤
        }

    };

    /**
     * 八卦卦象
     */
    public static final Map<String, String> BA_GUA_TU = new HashMap<String, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：卦名为[乾]，卦象为[☰]
            put(Constant.QIAN_NAME, Constant.QIAN_AS); // 乾：☰
            put(Constant.DUI_NAME, Constant.DUI_AS);   // 兑：☱
            put(Constant.LI_NAME, Constant.LI_AS);     // 离：☲
            put(Constant.ZHEN_NAME, Constant.ZHEN_AS); // 震：☳
            put(Constant.XUN_NAME, Constant.XUN_AS);   // 巽：☴
            put(Constant.KAN_NAME, Constant.KAN_AS);   // 坎：☵
            put(Constant.GEN_NAME, Constant.GEN_AS);   // 艮：☶
            put(Constant.KUN_NAME, Constant.KUN_AS);   // 坤：☷
        }

    };

    /**
     * 先天八卦卦象代表的数字
     */
    public static final Map<String, Integer> BA_GUA_SHU = new HashMap<String, Integer>() {
        private static final long serialVersionUID = -1;

        {
            // 例：卦象为[☰]，数字为[1]
            put(Constant.QIAN_AS, 1); // ☰：1
            put(Constant.DUI_AS, 2);  // ☱：2
            put(Constant.LI_AS, 3);   // ☲：3
            put(Constant.ZHEN_AS, 4); // ☳：4
            put(Constant.XUN_AS, 5);  // ☴：5
            put(Constant.KAN_AS, 6);  // ☵：6
            put(Constant.GEN_AS, 7);  // ☶：7
            put(Constant.KUN_AS, 8);  // ☷：8
        }

    };

    /**
     * 八卦代表卦象及其数字（自上而下：0为阴，1为阳）
     */
    public static final Map<String, List<Integer>> BA_GUA_TU_SHU = new HashMap<String, List<Integer>>() {
        private static final long serialVersionUID = -1;

        {
            // 例：乾卦（☰）；上爻为1，中爻为1，下爻为1
            put(Constant.QIAN_AS, ConstantPackage.ONE_ONE_ONE);   // 乾卦（☰）；上爻为1，中爻为1，下爻为1
            put(Constant.DUI_AS, ConstantPackage.ZERO_ONE_ONE);   // 兑卦（☱）；上爻为0，中爻为1，下爻为1
            put(Constant.LI_AS, ConstantPackage.ONE_ZERO_ONE);    // 离卦（☲）；上爻为1，中爻为0，下爻为1
            put(Constant.ZHEN_AS, ConstantPackage.ZERO_ZERO_ONE); // 震卦（☳）；上爻为0，中爻为0，下爻为1
            put(Constant.XUN_AS, ConstantPackage.ONE_ONE_ZERO);   // 巽卦（☴）；上爻为1，中爻为1，下爻为0
            put(Constant.KAN_AS, ConstantPackage.ZERO_ONE_ZERO);  // 坎卦（☵）；上爻为0，中爻为1，下爻为0
            put(Constant.GEN_AS, ConstantPackage.ONE_ZERO_ZERO);  // 艮卦（☶）；上爻为1，中爻为0，下爻为0
            put(Constant.KUN_AS, ConstantPackage.ZERO_ZERO_ZERO); // 坤卦（☷）；上爻为0，中爻为0，下爻为1
        }

    };

    /**
     * 八卦上中下爻代表数字及其卦象（自上而下：0为阴，1为阳）
     */
    public static final Map<List<Integer>, String> BA_GUA_SHU_TU = new HashMap<List<Integer>, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：上爻为1，中爻为1，下爻为1；则为乾卦（☰）
            put(ConstantPackage.ONE_ONE_ONE, Constant.QIAN_AS);   // 上爻为1，中爻为1，下爻为1，为乾卦（☰）
            put(ConstantPackage.ZERO_ONE_ONE, Constant.DUI_AS);   // 上爻为0，中爻为1，下爻为1，为兑卦（☱）
            put(ConstantPackage.ONE_ZERO_ONE, Constant.LI_AS);    // 上爻为1，中爻为0，下爻为1，为离卦（☲）
            put(ConstantPackage.ZERO_ZERO_ONE, Constant.ZHEN_AS); // 上爻为0，中爻为0，下爻为1，为震卦（☳）
            put(ConstantPackage.ONE_ONE_ZERO, Constant.XUN_AS);   // 上爻为1，中爻为1，下爻为0，为巽卦（☴）
            put(ConstantPackage.ZERO_ONE_ZERO, Constant.KAN_AS);  // 上爻为0，中爻为1，下爻为0，为坎卦（☵）
            put(ConstantPackage.ONE_ZERO_ZERO, Constant.GEN_AS);  // 上爻为1，中爻为0，下爻为0，为艮卦（☶）
            put(ConstantPackage.ZERO_ZERO_ZERO, Constant.KUN_AS); // 上爻为0，中爻为0，下爻为1，为坤卦（☷）
        }

    };

    /**
     * 六十四卦
     *
     * <p> 乾﹑坤﹑屯﹑蒙﹑需﹑讼﹑师﹑比 </p>
     * <p> 小畜﹑履﹑泰﹑否﹑同人﹑大有﹑谦﹑豫 </p>
     * <p> 随﹑蛊﹑临﹑观﹑噬嗑﹑贲﹑剥﹑复 </p>
     * <p> 无妄﹑大畜﹑颐﹑大过﹑坎﹑离﹑咸﹑恒 </p>
     * <p> 遁﹑大壮﹑晋﹑明夷﹑家人﹑睽﹑蹇﹑解 </p>
     * <p> 损﹑益﹑夬﹑姤﹑萃﹑升﹑困﹑井 </p>
     * <p> 革﹑鼎﹑震﹑艮﹑渐﹑归妹﹑丰﹑旅 </p>
     * <p> 巽﹑兑﹑涣﹑节﹑中孚﹑小过﹑既济﹑未济 </p>
     */
    public static final Map<String, String> LIU_SHI_SI_GUA = new HashMap<String, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：卦象为[䷀]，卦名为[乾为天]
            put(Constant.QIAN_WEI_TIAN_AS, Constant.QIAN_WEI_TIAN_NAME);           // 1、乾为天（䷀）
            put(Constant.KUN_WEI_DI_AS, Constant.KUN_WEI_DI_NAME);                 // 2、坤为地（䷁）
            put(Constant.SHUI_LEI_ZHUN_AS, Constant.SHUI_LEI_ZHUN_NAME);           // 3、水雷屯（䷂）
            put(Constant.SHAN_SHUI_MENG_AS, Constant.SHAN_SHUI_MENG_NAME);         // 4、山水蒙（䷃）
            put(Constant.SHUI_TIAN_XU_AS, Constant.SHUI_TIAN_XU_NAME);             // 5、水天需（䷄）
            put(Constant.TIAN_SHUI_SONG_AS, Constant.TIAN_SHUI_SONG_NAME);         // 6、天水讼（䷅）
            put(Constant.DI_SHUI_SHI_AS, Constant.DI_SHUI_SHI_NAME);               // 7、地水师（䷆）
            put(Constant.SHUI_DI_BI_AS, Constant.SHUI_DI_BI_NAME);                 // 8、水地比（䷇）
            put(Constant.FENG_TIAN_XIAO_CHU_AS, Constant.FENG_TIAN_XIAO_CHU_NAME); // 9、风天小畜（䷈）
            put(Constant.TIAN_ZE_LV_AS, Constant.TIAN_ZE_LV_NAME);                 // 10、天泽履（䷉）
            put(Constant.DI_TIAN_TAI_AS, Constant.DI_TIAN_TAI_NAME);               // 11、地天泰（䷊）
            put(Constant.TIAN_DI_PI_AS, Constant.TIAN_DI_PI_NAME);                 // 12、天地否（䷋）
            put(Constant.TIAN_HUO_TONG_REN_AS, Constant.TIAN_HUO_TONG_REN_NAME);   // 13、天火同人（䷌）
            put(Constant.HUO_TIAN_DA_YOU_AS, Constant.HUO_TIAN_DA_YOU_NAME);       // 14、火天大有（䷍）
            put(Constant.DI_SHAN_QIAN_AS, Constant.DI_SHAN_QIAN_NAME);             // 15、地山谦（䷎）
            put(Constant.LEI_DI_YU_AS, Constant.LEI_DI_YU_NAME);                   // 16、雷地豫（䷏）
            put(Constant.ZE_LEI_SU_AS, Constant.ZE_LEI_SU_NAME);                   // 17、泽雷随（䷐）
            put(Constant.SHAN_FENG_GU_AS, Constant.SHAN_FENG_GU_NAME);             // 18、山风蛊（䷑）
            put(Constant.DI_ZE_LIN_AS, Constant.DI_ZE_LIN_NAME);                   // 19、地泽临（䷒）
            put(Constant.FENG_DI_GUAN_AS, Constant.FENG_DI_GUAN_NAME);             // 20、风地观（䷓）
            put(Constant.HUO_LEI_SHI_HE_AS, Constant.HUO_LEI_SHI_HE_NAME);         // 21、火雷噬嗑（䷔）
            put(Constant.SHAN_HUO_BI_AS, Constant.SHAN_HUO_BI_NAME);               // 22、山火贲（䷕）
            put(Constant.SHAN_DI_BO_AS, Constant.SHAN_DI_BO_NAME);                 // 23、山地剥（䷖）
            put(Constant.DI_LEI_FU_AS, Constant.DI_LEI_FU_NAME);                   // 24、地雷复（䷗）
            put(Constant.TIAN_LEI_WU_WANG_AS, Constant.TIAN_LEI_WU_WANG_NAME);     // 25、天雷无妄（䷘）
            put(Constant.SHAN_TIAN_DA_XU_AS, Constant.SHAN_TIAN_DA_XU_NAME);     // 26、山天大畜（䷙）
            put(Constant.SHAN_LEI_YI_AS, Constant.SHAN_LEI_YI_NAME);               // 27、山雷颐（䷚）
            put(Constant.ZE_FENG_DA_GUO_AS, Constant.ZE_FENG_DA_GUO_NAME);         // 28、泽风大过（䷛）
            put(Constant.KAN_WEI_SHUI_AS, Constant.KAN_WEI_SHUI_NAME);             // 29、坎为水（䷜）
            put(Constant.LI_WEI_HUO_AS, Constant.LI_WEI_HUO_NAME);                 // 30、离为火（䷝）
            put(Constant.ZE_SHAN_XIAN_AS, Constant.ZE_SHAN_XIAN_NAME);             // 31、泽山咸（䷞）
            put(Constant.LEI_FENG_HENG_AS, Constant.LEI_FENG_HENG_NAME);           // 32、雷风恒（䷟）
            put(Constant.TIAN_SHAN_DUN_AS, Constant.TIAN_SHAN_DUN_NAME);           // 33、天山遁（䷠）
            put(Constant.LEI_TIAN_DA_ZHUANG_AS, Constant.LEI_TIAN_DA_ZHUANG_NAME); // 34、雷天大壮（䷡）
            put(Constant.HUO_DI_JIN_AS, Constant.HUO_DI_JIN_NAME);                 // 35、火地晋（䷢）
            put(Constant.DI_HUO_MING_YI_AS, Constant.DI_HUO_MING_YI_NAME);         // 36、地火明夷（䷣）
            put(Constant.FENG_HUO_JIA_REN_AS, Constant.FENG_HUO_JIA_REN_NAME);     // 37、风火家人（䷤）
            put(Constant.HUO_ZE_KUI_AS, Constant.HUO_ZE_KUI_NAME);                 // 38、火泽睽（䷥）
            put(Constant.SHUI_SHAN_JIAN_AS, Constant.SHUI_SHAN_JIAN_NAME);         // 39、水山蹇（䷦）
            put(Constant.LEI_SHUI_XIE_AS, Constant.LEI_SHUI_XIE_NAME);             // 40、雷水解（䷧）
            put(Constant.SHAN_ZE_SUN_AS, Constant.SHAN_ZE_SUN_NAME);               // 41、山泽损（䷨）
            put(Constant.FENG_LEI_YI_AS, Constant.FENG_LEI_YI_NAME);               // 42、风雷益（䷩）
            put(Constant.ZE_TIAN_GUAI_AS, Constant.ZE_TIAN_GUAI_NAME);             // 43、泽天夬（䷪）
            put(Constant.TIAN_FENG_GOU_AS, Constant.TIAN_FENG_GOU_NAME);           // 44、天风姤（䷫）
            put(Constant.ZE_DI_CUI_AS, Constant.ZE_DI_CUI_NAME);                   // 45、泽地萃（䷬）
            put(Constant.DI_FENG_SHENG_AS, Constant.DI_FENG_SHENG_NAME);           // 46、地风升（䷭）
            put(Constant.ZE_SHUI_KUN_AS, Constant.ZE_SHUI_KUN_NAME);               // 47、泽水困（䷮）
            put(Constant.SHUI_FENG_JING_AS, Constant.SHUI_FENG_JING_NAME);         // 48、水风井（䷯）
            put(Constant.ZE_HUO_GE_AS, Constant.ZE_HUO_GE_NAME);                   // 49、泽火革（䷰）
            put(Constant.HUO_FENG_DING_AS, Constant.HUO_FENG_DING_NAME);           // 50、火风鼎（䷱）
            put(Constant.ZHEN_WEI_LEI_AS, Constant.ZHEN_WEI_LEI_NAME);             // 51、震为雷（䷲）
            put(Constant.GEN_WEI_SHAN_AS, Constant.GEN_WEI_SHAN_NAME);             // 52、艮为山（䷳）
            put(Constant.FENG_SHAN_JIAN_AS, Constant.FENG_SHAN_JIAN_NAME);         // 53、风山渐（䷴）
            put(Constant.LEI_ZE_GUI_MEI_AS, Constant.LEI_ZE_GUI_MEI_NAME);         // 54、雷泽归妹（䷵）
            put(Constant.LEI_HUO_FENG_AS, Constant.LEI_HUO_FENG_NAME);             // 55、雷火丰（䷶）
            put(Constant.HUO_SHAN_LV_AS, Constant.HUO_SHAN_LV_NAME);               // 56、火山旅（䷷）
            put(Constant.XUN_WEI_FENG_AS, Constant.XUN_WEI_FENG_NAME);             // 57、巽为风（䷸）
            put(Constant.DUI_WEI_ZE_AS, Constant.DUI_WEI_ZE_NAME);                 // 58、兑为泽（䷹）
            put(Constant.FENG_SHUI_HUAN_AS, Constant.FENG_SHUI_HUAN_NAME);         // 59、风水涣（䷺）
            put(Constant.SHUI_ZE_JIE_AS, Constant.SHUI_ZE_JIE_NAME);               // 60、水泽节（䷻）
            put(Constant.FENG_ZE_ZHONG_FU_AS, Constant.FENG_ZE_ZHONG_FU_NAME);     // 61、风泽中孚（䷼）
            put(Constant.LEI_SHAN_XIAO_GUO_AS, Constant.LEI_SHAN_XIAO_GUO_NAME);   // 62、雷山小过（䷽）
            put(Constant.SHUI_HUO_JI_JI_AS, Constant.SHUI_HUO_JI_JI_NAME);         // 63、水火既济（䷾）
            put(Constant.HUO_SHUI_WEI_JI_AS, Constant.HUO_SHUI_WEI_JI_NAME);       // 64、火水未济（䷿）
        }

    };

    /**
     * 六十四卦卦象
     */
    public static final Map<List<Integer>, String> LIU_SHI_SI_GUA_AS = new HashMap<List<Integer>, String>() {
        private static final long serialVersionUID = -1;

        {
            // 例：上卦数为1，下卦数为1，卦象为：䷀（乾为天）
            put(Arrays.asList(1, 1), Constant.QIAN_WEI_TIAN_AS);      // 1、乾为天（䷀）
            put(Arrays.asList(8, 8), Constant.KUN_WEI_DI_AS);         // 2、坤为地（䷁）
            put(Arrays.asList(6, 4), Constant.SHUI_LEI_ZHUN_AS);      // 3、水雷屯（䷂）
            put(Arrays.asList(7, 6), Constant.SHAN_SHUI_MENG_AS);     // 4、山水蒙（䷃）
            put(Arrays.asList(6, 1), Constant.SHUI_TIAN_XU_AS);       // 5、水天需（䷄）
            put(Arrays.asList(1, 6), Constant.TIAN_SHUI_SONG_AS);     // 6、天水讼（䷅）
            put(Arrays.asList(8, 6), Constant.DI_SHUI_SHI_AS);        // 7、地水师（䷆）
            put(Arrays.asList(6, 8), Constant.SHUI_DI_BI_AS);         // 8、水地比（䷇）
            put(Arrays.asList(5, 1), Constant.FENG_TIAN_XIAO_CHU_AS); // 9、风天小畜（䷈）
            put(Arrays.asList(1, 2), Constant.TIAN_ZE_LV_AS);         // 10、天泽履（䷉）
            put(Arrays.asList(8, 1), Constant.DI_TIAN_TAI_AS);        // 11、地天泰（䷊）
            put(Arrays.asList(1, 8), Constant.TIAN_DI_PI_AS);         // 12、天地否（䷋）
            put(Arrays.asList(1, 3), Constant.TIAN_HUO_TONG_REN_AS);  // 13、天火同人（䷌）
            put(Arrays.asList(3, 1), Constant.HUO_TIAN_DA_YOU_AS);    // 14、火天大有（䷍）
            put(Arrays.asList(8, 7), Constant.DI_SHAN_QIAN_AS);       // 15、地山谦（䷎）
            put(Arrays.asList(4, 8), Constant.LEI_DI_YU_AS);          // 16、雷地豫（䷏）
            put(Arrays.asList(2, 4), Constant.ZE_LEI_SU_AS);          // 17、泽雷随（䷐）
            put(Arrays.asList(7, 5), Constant.SHAN_FENG_GU_AS);       // 18、山风蛊（䷑）
            put(Arrays.asList(8, 2), Constant.DI_ZE_LIN_AS);          // 19、地泽临（䷒）
            put(Arrays.asList(5, 8), Constant.FENG_DI_GUAN_AS);       // 20、风地观（䷓）
            put(Arrays.asList(3, 4), Constant.HUO_LEI_SHI_HE_AS);     // 21、火雷噬嗑（䷔）
            put(Arrays.asList(7, 3), Constant.SHAN_HUO_BI_AS);        // 22、山火贲（䷕）
            put(Arrays.asList(7, 8), Constant.SHAN_DI_BO_AS);         // 23、山地剥（䷖）
            put(Arrays.asList(8, 4), Constant.DI_LEI_FU_AS);          // 24、地雷复（䷗）
            put(Arrays.asList(1, 4), Constant.TIAN_LEI_WU_WANG_AS);   // 25、天雷无妄（䷘）
            put(Arrays.asList(7, 1), Constant.SHAN_TIAN_DA_XU_AS);   // 26、山天大畜（䷙）
            put(Arrays.asList(7, 4), Constant.SHAN_LEI_YI_AS);        // 27、山雷颐（䷚）
            put(Arrays.asList(2, 5), Constant.ZE_FENG_DA_GUO_AS);     // 28、泽风大过（䷛）
            put(Arrays.asList(6, 6), Constant.KAN_WEI_SHUI_AS);       // 29、坎为水（䷜）
            put(Arrays.asList(3, 3), Constant.LI_WEI_HUO_AS);         // 30、离为火（䷝）
            put(Arrays.asList(2, 7), Constant.ZE_SHAN_XIAN_AS);       // 31、泽山咸（䷞）
            put(Arrays.asList(4, 5), Constant.LEI_FENG_HENG_AS);      // 32、雷风恒（䷟）
            put(Arrays.asList(1, 7), Constant.TIAN_SHAN_DUN_AS);      // 33、天山遁（䷠）
            put(Arrays.asList(4, 1), Constant.LEI_TIAN_DA_ZHUANG_AS); // 34、雷天大壮（䷡）
            put(Arrays.asList(3, 8), Constant.HUO_DI_JIN_AS);         // 35、火地晋（䷢）
            put(Arrays.asList(8, 3), Constant.DI_HUO_MING_YI_AS);     // 36、地火明夷（䷣）
            put(Arrays.asList(5, 3), Constant.FENG_HUO_JIA_REN_AS);   // 37、风火家人（䷤）
            put(Arrays.asList(3, 2), Constant.HUO_ZE_KUI_AS);         // 38、火泽睽（䷥）
            put(Arrays.asList(6, 7), Constant.SHUI_SHAN_JIAN_AS);     // 39、水山蹇（䷦）
            put(Arrays.asList(4, 6), Constant.LEI_SHUI_XIE_AS);       // 40、雷水解（䷧）
            put(Arrays.asList(7, 2), Constant.SHAN_ZE_SUN_AS);        // 41、山泽损（䷨）
            put(Arrays.asList(5, 4), Constant.FENG_LEI_YI_AS);        // 42、风雷益（䷩）
            put(Arrays.asList(2, 1), Constant.ZE_TIAN_GUAI_AS);       // 43、泽天夬（䷪）
            put(Arrays.asList(1, 5), Constant.TIAN_FENG_GOU_AS);      // 44、天风姤（䷫）
            put(Arrays.asList(2, 8), Constant.ZE_DI_CUI_AS);          // 45、泽地萃（䷬）
            put(Arrays.asList(8, 5), Constant.DI_FENG_SHENG_AS);      // 46、地风升（䷭）
            put(Arrays.asList(2, 6), Constant.ZE_SHUI_KUN_AS);        // 47、泽水困（䷮）
            put(Arrays.asList(6, 5), Constant.SHUI_FENG_JING_AS);     // 48、水风井（䷯）
            put(Arrays.asList(2, 3), Constant.ZE_HUO_GE_AS);          // 49、泽火革（䷰）
            put(Arrays.asList(3, 5), Constant.HUO_FENG_DING_AS);      // 50、火风鼎（䷱）
            put(Arrays.asList(4, 4), Constant.ZHEN_WEI_LEI_AS);       // 51、震为雷（䷲）
            put(Arrays.asList(7, 7), Constant.GEN_WEI_SHAN_AS);       // 52、艮为山（䷳）
            put(Arrays.asList(5, 7), Constant.FENG_SHAN_JIAN_AS);     // 53、风山渐（䷴）
            put(Arrays.asList(4, 2), Constant.LEI_ZE_GUI_MEI_AS);     // 54、雷泽归妹（䷵）
            put(Arrays.asList(4, 3), Constant.LEI_HUO_FENG_AS);       // 55、雷火丰（䷶）
            put(Arrays.asList(3, 7), Constant.HUO_SHAN_LV_AS);        // 56、火山旅（䷷）
            put(Arrays.asList(5, 5), Constant.XUN_WEI_FENG_AS);       // 57、巽为风（䷸）
            put(Arrays.asList(2, 2), Constant.DUI_WEI_ZE_AS);         // 58、兑为泽（䷹）
            put(Arrays.asList(5, 6), Constant.FENG_SHUI_HUAN_AS);     // 59、风水涣（䷺）
            put(Arrays.asList(6, 2), Constant.SHUI_ZE_JIE_AS);        // 60、水泽节（䷻）
            put(Arrays.asList(5, 2), Constant.FENG_ZE_ZHONG_FU_AS);   // 61、风泽中孚（䷼）
            put(Arrays.asList(4, 7), Constant.LEI_SHAN_XIAO_GUO_AS);  // 62、雷山小过（䷽）
            put(Arrays.asList(6, 3), Constant.SHUI_HUO_JI_JI_AS);     // 63、水火既济（䷾）
            put(Arrays.asList(3, 6), Constant.HUO_SHUI_WEI_JI_AS);    // 64、火水未济（䷿）
        }

    };

    /**
     * 六十四卦每一卦中的六爻爻象（顺序依次为：初爻、二爻、三爻、四爻、五爻、上爻）
     */
    public static final Map<String, List<String>> LIU_SHI_SI_GUA_LIU_YAO_YAO_XIANG = new HashMap<String, List<String>>() {
        private static final long serialVersionUID = -1;

        {
            // 例：䷀（乾为天）。从下至上→ 爻象为：—, —, —, —, —, —
            put(Constant.QIAN_WEI_TIAN_AS, ConstantPackage.QIAN_WEI_TIAN_YAO_AS);           // 1、䷀（乾为天），从下至上爻象：—, —, —, —, —, —
            put(Constant.KUN_WEI_DI_AS, ConstantPackage.KUN_WEI_DI_YAO_AS);                 // 2、䷁（坤为地），从下至上爻象：--, --, --, --, --, --
            put(Constant.SHUI_LEI_ZHUN_AS, ConstantPackage.SHUI_LEI_ZHUN_YAO_AS);           // 3、䷂（水雷屯），从下至上爻象：—, --, --, --, —, --
            put(Constant.SHAN_SHUI_MENG_AS, ConstantPackage.SHAN_SHUI_MENG_YAO_AS);         // 4、䷃（山水蒙），从下至上爻象：--, —, --, --, --, —
            put(Constant.SHUI_TIAN_XU_AS, ConstantPackage.SHUI_TIAN_XU_YAO_AS);             // 5、䷄（水天需），从下至上爻象：—, —, —, --, —, --
            put(Constant.TIAN_SHUI_SONG_AS, ConstantPackage.TIAN_SHUI_SONG_YAO_AS);         // 6、䷅（天水讼），从下至上爻象：--, —, --, —, —, —
            put(Constant.DI_SHUI_SHI_AS, ConstantPackage.DI_SHUI_SHI_YAO_AS);               // 7、䷆（地水师），从下至上爻象：--, —, --, --, --, --
            put(Constant.SHUI_DI_BI_AS, ConstantPackage.SHUI_DI_BI_YAO_AS);                 // 8、䷇（水地比），从下至上爻象：--, --, --, --, —, --
            put(Constant.FENG_TIAN_XIAO_CHU_AS, ConstantPackage.FENG_TIAN_XIAO_CHU_YAO_AS); // 9、䷈（风天小畜)，从下至上爻象：—, —, —, --, —, —
            put(Constant.TIAN_ZE_LV_AS, ConstantPackage.TIAN_ZE_LV_YAO_AS);                 // 10、䷉（天泽履），从下至上爻象：—, —, --, —, —, —
            put(Constant.DI_TIAN_TAI_AS, ConstantPackage.DI_TIAN_TAI_YAO_AS);               // 11、䷊（地天泰），从下至上爻象：—, —, —, --, --, --
            put(Constant.TIAN_DI_PI_AS, ConstantPackage.TIAN_DI_PI_YAO_AS);                 // 12、䷋（天地否），从下至上爻象：--, --, --, —, —, —
            put(Constant.TIAN_HUO_TONG_REN_AS, ConstantPackage.TIAN_HUO_TONG_REN_YAO_AS);   // 13、䷌（天火同人），从下至上爻象：—, --, —, —, —, —
            put(Constant.HUO_TIAN_DA_YOU_AS, ConstantPackage.HUO_TIAN_DA_YOU_YAO_AS);       // 14、䷍（火天大有），从下至上爻象：—, —, —, —, --, —
            put(Constant.DI_SHAN_QIAN_AS, ConstantPackage.DI_SHAN_QIAN_YAO_AS);             // 15、䷎（地山谦），从下至上爻象：--, --, —, --, --, --
            put(Constant.LEI_DI_YU_AS, ConstantPackage.LEI_DI_YU_YAO_AS);                   // 16、䷏（雷地豫），从下至上爻象：--, --, --, —, --, --
            put(Constant.ZE_LEI_SU_AS, ConstantPackage.ZE_LEI_SUI_YAO_AS);                  // 17、䷐（泽雷随），从下至上爻象：—, --, --, —, —, --
            put(Constant.SHAN_FENG_GU_AS, ConstantPackage.SHAN_FENG_GU_YAO_AS);             // 18、䷑（山风蛊），从下至上爻象：--, —, —, --, --, —
            put(Constant.DI_ZE_LIN_AS, ConstantPackage.DI_ZE_LIN_YAO_AS);                   // 19、䷒（地泽临），从下至上爻象：—, —, --, --, --, --
            put(Constant.FENG_DI_GUAN_AS, ConstantPackage.FENG_DI_GUAN_YAO_AS);             // 20、䷓（风地观），从下至上爻象：--, --, --, --, —, —
            put(Constant.HUO_LEI_SHI_HE_AS, ConstantPackage.HUO_LEI_SHI_HE_YAO_AS);         // 21、䷔（火雷噬嗑），从下至上爻象：—, - -, - -, —, - -, —
            put(Constant.SHAN_HUO_BI_AS, ConstantPackage.SHAN_HUO_BI_YAO_AS);               // 22、䷕（山火贲），从下至上爻象：—, --, —, --, --, —
            put(Constant.SHAN_DI_BO_AS, ConstantPackage.SHAN_DI_BO_YAO_AS);                 // 23、䷖（山地剥），从下至上爻象：--, --, --, --, --, —
            put(Constant.DI_LEI_FU_AS, ConstantPackage.DI_LEI_FU_YAO_AS);                   // 24、䷗（地雷复），从下至上爻象：—, --, --, --, --, --
            put(Constant.TIAN_LEI_WU_WANG_AS, ConstantPackage.TIAN_LEI_WU_WANG_YAO_AS);     // 25、䷘（天雷无妄），从下至上爻象：—, --, --, —, —, —
            put(Constant.SHAN_TIAN_DA_XU_AS, ConstantPackage.SHAN_TIAN_DA_XU_YAO_AS);     // 26、䷙（山天大畜），从下至上爻象：—, —, —, --, --, —
            put(Constant.SHAN_LEI_YI_AS, ConstantPackage.SHAN_LEI_YI_YAO_AS);               // 27、䷚（山雷颐），从下至上爻象：—, --, --, --, --, —
            put(Constant.ZE_FENG_DA_GUO_AS, ConstantPackage.ZE_FENG_DA_GUO_YAO_AS);         // 28、䷛（泽风大过），从下至上爻象：--, —, —, —, —, --
            put(Constant.KAN_WEI_SHUI_AS, ConstantPackage.KAN_WEI_SHUI_YAO_AS);             // 29、䷜（坎为水），从下至上爻象：--, —, --, --, —, --
            put(Constant.LI_WEI_HUO_AS, ConstantPackage.LI_WEI_HUO_YAO_AS);                 // 30、䷝（离为火），从下至上爻象：—, --, —, —, --, —
            put(Constant.ZE_SHAN_XIAN_AS, ConstantPackage.ZE_SHAN_XIAN_YAO_AS);             // 31、䷞（泽山咸），从下至上爻象：--, --, —, —, —, --
            put(Constant.LEI_FENG_HENG_AS, ConstantPackage.LEI_FENG_HENG_YAO_AS);           // 32、䷟（雷风恒），从下至上爻象：--, —, —, —, --, --
            put(Constant.TIAN_SHAN_DUN_AS, ConstantPackage.TIAN_SHAN_DUN_YAO_AS);           // 33、䷠（天山遁），从下至上爻象：--, --, —, —, —, —
            put(Constant.LEI_TIAN_DA_ZHUANG_AS, ConstantPackage.LEI_TIAN_DA_ZHUANG_YAO_AS); // 34、䷡（雷天大壮），从下至上爻象：—, —, —, —, --, --
            put(Constant.HUO_DI_JIN_AS, ConstantPackage.HUO_DI_JIN_YAO_AS);                 // 35、䷢（火地晋），从下至上爻象：--, --, --, —, --, —
            put(Constant.DI_HUO_MING_YI_AS, ConstantPackage.DI_HUO_MING_YI_YAO_AS);         // 36、䷣（地火明夷），从下至上爻象：—, --, —, --, --, --
            put(Constant.FENG_HUO_JIA_REN_AS, ConstantPackage.FENG_HUO_JIA_REN_YAO_AS);     // 37、䷤（风火家人），从下至上爻象：—, --, —, --, —, —
            put(Constant.HUO_ZE_KUI_AS, ConstantPackage.HUO_ZE_KUI_YAO_AS);                 // 38、䷥（火泽睽），从下至上爻象：—, —, --, —, --, —
            put(Constant.SHUI_SHAN_JIAN_AS, ConstantPackage.SHUI_SHAN_JIAN_YAO_AS);         // 39、䷦（水山蹇），从下至上爻象：--, --, —, --, —, --
            put(Constant.LEI_SHUI_XIE_AS, ConstantPackage.LEI_SHUI_XIE_YAO_AS);             // 40、䷧（雷水解），从下至上爻象：--, —, --, —, --, --
            put(Constant.SHAN_ZE_SUN_AS, ConstantPackage.SHAN_ZE_SUN_YAO_AS);               // 41、䷨（山泽损），从下至上爻象：—, —, --, --, --, —
            put(Constant.FENG_LEI_YI_AS, ConstantPackage.FENG_LEI_YI_YAO_AS);               // 42、䷩（风雷益），从下至上爻象：—, --, --, --, —, —
            put(Constant.ZE_TIAN_GUAI_AS, ConstantPackage.ZE_TIAN_GUAI_YAO_AS);             // 43、䷪（泽天夬），从下至上爻象：—, —, —, —, —, --
            put(Constant.TIAN_FENG_GOU_AS, ConstantPackage.TIAN_FENG_GOU_YAO_AS);           // 44、䷫（天风姤），从下至上爻象：--, —, —, —, —, —
            put(Constant.ZE_DI_CUI_AS, ConstantPackage.ZE_DI_CUI_YAO_AS);                   // 45、䷬（泽地萃），从下至上爻象：--, --, --, —, —, --
            put(Constant.DI_FENG_SHENG_AS, ConstantPackage.DI_FENG_SHENG_YAO_AS);           // 46、䷭（地风升），从下至上爻象：--, —, —, --, --, --
            put(Constant.ZE_SHUI_KUN_AS, ConstantPackage.ZE_SHUI_KUN_YAO_AS);               // 47、䷮（泽水困），从下至上爻象：--, —, --, —, —, --
            put(Constant.SHUI_FENG_JING_AS, ConstantPackage.SHUI_FENG_JING_YAO_AS);         // 48、䷯（水风井），从下至上爻象：--, —, —, --, —, --
            put(Constant.ZE_HUO_GE_AS, ConstantPackage.ZE_HUO_GE_YAO_AS);                   // 49、䷰（泽火革），从下至上爻象：—, --, —, —, —, --
            put(Constant.HUO_FENG_DING_AS, ConstantPackage.HUO_FENG_DING_YAO_AS);           // 50、䷱（火风鼎），从下至上爻象：--, —, —, —, --, —
            put(Constant.ZHEN_WEI_LEI_AS, ConstantPackage.ZHEN_WEI_LEI_YAO_AS);             // 51、䷲（震为雷），从下至上爻象：—, --, --, —, --, --
            put(Constant.GEN_WEI_SHAN_AS, ConstantPackage.GEN_WEI_SHAN_YAO_AS);             // 52、䷳（艮为山），从下至上爻象：--, --, —, --, --, —
            put(Constant.FENG_SHAN_JIAN_AS, ConstantPackage.FENG_SHAN_JIAN_YAO_AS);         // 53、䷴（风山渐），从下至上爻象：--, --, —, --, —, —
            put(Constant.LEI_ZE_GUI_MEI_AS, ConstantPackage.LEI_ZE_GUI_MEI_YAO_AS);         // 54、䷵（雷泽归妹），从下至上爻象：—, —, --, —, --, --
            put(Constant.LEI_HUO_FENG_AS, ConstantPackage.LEI_HUO_FENG_YAO_AS);             // 55、䷶（雷火丰），从下至上爻象：—, --, —, —, --, --
            put(Constant.HUO_SHAN_LV_AS, ConstantPackage.HUO_SHAN_LV_YAO_AS);               // 56、䷷（火山旅），从下至上爻象：--, --, —, —, --, —
            put(Constant.XUN_WEI_FENG_AS, ConstantPackage.XUN_WEI_FENG_YAO_AS);             // 57、䷸（巽为风），从下至上爻象：--, —, —, --, —, —
            put(Constant.DUI_WEI_ZE_AS, ConstantPackage.DUI_WEI_ZE_YAO_AS);                 // 58、䷹（兑为泽），从下至上爻象：—, —, --, —, —, --
            put(Constant.FENG_SHUI_HUAN_AS, ConstantPackage.FENG_SHUI_HUAN_YAO_AS);         // 59、䷺（风水涣），从下至上爻象：--, —, --, --, —, —
            put(Constant.SHUI_ZE_JIE_AS, ConstantPackage.SHUI_ZE_JIE_YAO_AS);               // 60、䷻（水泽节），从下至上爻象：—, —, --, --, —, --
            put(Constant.FENG_ZE_ZHONG_FU_AS, ConstantPackage.FENG_ZE_ZHONG_FU_YAO_AS);     // 61、䷼（风泽中孚），从下至上爻象：—, —, --, --, —, —
            put(Constant.LEI_SHAN_XIAO_GUO_AS, ConstantPackage.LEI_SHAN_XIAO_GUO_YAO_AS);   // 62、䷽（雷山小过），从下至上爻象：--, --, —, —, --, --
            put(Constant.SHUI_HUO_JI_JI_AS, ConstantPackage.SHUI_HUO_JI_JI_YAO_AS);         // 63、䷾（水火既济），从下至上爻象：—, --, —, --, —, --
            put(Constant.HUO_SHUI_WEI_JI_AS, ConstantPackage.HUO_SHUI_WEI_JI_YAO_AS);       // 64、䷿（火水未济），从下至上爻象：--, —, --, —, --, —

        }

    };

    /**
     * 六十四卦每一卦中的六爻爻名（顺序依次为：初爻、二爻、三爻、四爻、五爻、上爻）
     */
    public static final Map<String, List<String>> LIU_SHI_SI_GUA_LIU_YAO_YAO_MING = new HashMap<String, List<String>>() {
        private static final long serialVersionUID = -1;

        {
            // 例：䷀（乾为天）。从下至上→ 爻名为：初九, 九二, 九三, 九四, 九五, 上九
            put(Constant.QIAN_WEI_TIAN_AS, ConstantPackage.QIAN_WEI_TIAN_YAO_NAME);           // 1、䷀（乾为天），从下至上爻名：初九, 九二, 九三, 九四, 九五, 上九
            put(Constant.KUN_WEI_DI_AS, ConstantPackage.KUN_WEI_DI_YAO_NAME);                 // 2、䷁（坤为地），从下至上爻名：初六, 六二, 六三, 六四, 六五, 上六
            put(Constant.SHUI_LEI_ZHUN_AS, ConstantPackage.SHUI_LEI_ZHUN_YAO_NAME);           // 3、䷂（水雷屯），从下至上爻名：初九, 六二, 六三, 六四, 九五, 上六
            put(Constant.SHAN_SHUI_MENG_AS, ConstantPackage.SHAN_SHUI_MENG_YAO_NAME);         // 4、䷃（山水蒙），从下至上爻名：初六, 九二, 六三, 六四, 六五, 上九
            put(Constant.SHUI_TIAN_XU_AS, ConstantPackage.SHUI_TIAN_XU_YAO_NAME);             // 5、䷄（水天需），从下至上爻名：初九, 九二, 九三, 六四, 九五, 上六
            put(Constant.TIAN_SHUI_SONG_AS, ConstantPackage.TIAN_SHUI_SONG_YAO_NAME);         // 6、䷅（天水讼），从下至上爻名：初六, 九二, 六三, 九四, 九五, 上九
            put(Constant.DI_SHUI_SHI_AS, ConstantPackage.DI_SHUI_SHI_YAO_NAME);               // 7、䷆（地水师），从下至上爻名：初六, 九二, 六三, 六四, 六五, 上六
            put(Constant.SHUI_DI_BI_AS, ConstantPackage.SHUI_DI_BI_YAO_NAME);                 // 8、䷇（水地比），从下至上爻名：初六, 六二, 六三, 六四, 九五, 上六
            put(Constant.FENG_TIAN_XIAO_CHU_AS, ConstantPackage.FENG_TIAN_XIAO_CHU_YAO_NAME); // 9、䷈（风天小畜)，从下至上爻名：初九, 九二, 九三, 六四, 九五, 上九
            put(Constant.TIAN_ZE_LV_AS, ConstantPackage.TIAN_ZE_LV_YAO_NAME);                 // 10、䷉（天泽履），从下至上爻名：初九, 九二, 六三, 九四, 九五, 上九
            put(Constant.DI_TIAN_TAI_AS, ConstantPackage.DI_TIAN_TAI_YAO_NAME);               // 11、䷊（地天泰），从下至上爻名：初九, 九二, 九三, 六四, 六五, 上六
            put(Constant.TIAN_DI_PI_AS, ConstantPackage.TIAN_DI_PI_YAO_NAME);                 // 12、䷋（天地否），从下至上爻名：初六, 六二, 六三, 九四, 九五, 上九
            put(Constant.TIAN_HUO_TONG_REN_AS, ConstantPackage.TIAN_HUO_TONG_REN_YAO_NAME);   // 13、䷌（天火同人），从下至上爻名：初九, 六二, 九三, 九四, 九五, 上九
            put(Constant.HUO_TIAN_DA_YOU_AS, ConstantPackage.HUO_TIAN_DA_YOU_YAO_NAME);       // 14、䷍（火天大有），从下至上爻名：初九, 九二, 九三, 九四, 六五, 上九
            put(Constant.DI_SHAN_QIAN_AS, ConstantPackage.DI_SHAN_QIAN_YAO_NAME);             // 15、䷎（地山谦），从下至上爻名：初六, 六二, 九三, 六四, 六五, 上六
            put(Constant.LEI_DI_YU_AS, ConstantPackage.LEI_DI_YU_YAO_NAME);                   // 16、䷏（雷地豫），从下至上爻名：初六, 六二, 六三, 九四, 六五, 上六
            put(Constant.ZE_LEI_SU_AS, ConstantPackage.ZE_LEI_SUI_YAO_NAME);                  // 17、䷐（泽雷随），从下至上爻名：初九, 六二, 六三, 九四, 九五, 上六
            put(Constant.SHAN_FENG_GU_AS, ConstantPackage.SHAN_FENG_GU_YAO_NAME);             // 18、䷑（山风蛊），从下至上爻名：初六, 九二, 九三, 六四, 六五, 上九
            put(Constant.DI_ZE_LIN_AS, ConstantPackage.DI_ZE_LIN_YAO_NAME);                   // 19、䷒（地泽临），从下至上爻名：初九, 九二, 六三, 六四, 六五, 上六
            put(Constant.FENG_DI_GUAN_AS, ConstantPackage.FENG_DI_GUAN_YAO_NAME);             // 20、䷓（风地观），从下至上爻名：初六, 六二, 六三, 六四, 九五, 上九
            put(Constant.HUO_LEI_SHI_HE_AS, ConstantPackage.HUO_LEI_SHI_HE_YAO_NAME);         // 21、䷔（火雷噬嗑），从下至上爻名：初九, 六二, 六三, 九四, 六五, 上九
            put(Constant.SHAN_HUO_BI_AS, ConstantPackage.SHAN_HUO_BI_YAO_NAME);               // 22、䷕（山火贲），从下至上爻名：初九, 六二, 九三, 六四, 六五, 上九
            put(Constant.SHAN_DI_BO_AS, ConstantPackage.SHAN_DI_BO_YAO_NAME);                 // 23、䷖（山地剥），从下至上爻名：初六, 六二, 六三, 六四, 六五, 上九
            put(Constant.DI_LEI_FU_AS, ConstantPackage.DI_LEI_FU_YAO_NAME);                   // 24、䷗（地雷复），从下至上爻名：初九, 六二, 六三, 六四, 六五, 上六
            put(Constant.TIAN_LEI_WU_WANG_AS, ConstantPackage.TIAN_LEI_WU_WANG_YAO_NAME);     // 25、䷘（天雷无妄），从下至上爻名：初九, 六二, 六三, 九四, 九五, 上九
            put(Constant.SHAN_TIAN_DA_XU_AS, ConstantPackage.SHAN_TIAN_DA_XU_YAO_NAME);     // 26、䷙（山天大畜），从下至上爻名：初九, 九二, 九三, 六四, 六五, 上九
            put(Constant.SHAN_LEI_YI_AS, ConstantPackage.SHAN_LEI_YI_YAO_NAME);               // 27、䷚（山雷颐），从下至上爻名：初九, 六二, 六三, 六四, 六五, 上九
            put(Constant.ZE_FENG_DA_GUO_AS, ConstantPackage.ZE_FENG_DA_GUO_YAO_NAME);         // 28、䷛（泽风大过），从下至上爻名：初六, 九二, 九三, 九四, 九五, 上六
            put(Constant.KAN_WEI_SHUI_AS, ConstantPackage.KAN_WEI_SHUI_YAO_NAME);             // 29、䷜（坎为水），从下至上爻名：初六, 九二, 六三, 六四, 九五, 上六
            put(Constant.LI_WEI_HUO_AS, ConstantPackage.LI_WEI_HUO_YAO_NAME);                 // 30、䷝（离为火），从下至上爻名：初九, 六二, 九三, 九四, 六五, 上九
            put(Constant.ZE_SHAN_XIAN_AS, ConstantPackage.ZE_SHAN_XIAN_YAO_NAME);             // 31、䷞（泽山咸），从下至上爻名：初六, 六二, 九三, 九四, 九五, 上六
            put(Constant.LEI_FENG_HENG_AS, ConstantPackage.LEI_FENG_HENG_YAO_NAME);           // 32、䷟（雷风恒），从下至上爻名：初六, 九二, 九三, 九四, 六五, 上六
            put(Constant.TIAN_SHAN_DUN_AS, ConstantPackage.TIAN_SHAN_DUN_YAO_NAME);           // 33、䷠（天山遁），从下至上爻名：初六, 六二, 九三, 九四, 九五, 上九
            put(Constant.LEI_TIAN_DA_ZHUANG_AS, ConstantPackage.LEI_TIAN_DA_ZHUANG_YAO_NAME); // 34、䷡（雷天大壮），从下至上爻名：初九, 九二, 九三, 九四, 六五, 上六
            put(Constant.HUO_DI_JIN_AS, ConstantPackage.HUO_DI_JIN_YAO_NAME);                 // 35、䷢（火地晋），从下至上爻名：初六, 六二, 六三, 九四, 六五, 上九
            put(Constant.DI_HUO_MING_YI_AS, ConstantPackage.DI_HUO_MING_YI_YAO_NAME);         // 36、䷣（地火明夷），从下至上爻名：初九, 六二, 九三, 六四, 六五, 上六
            put(Constant.FENG_HUO_JIA_REN_AS, ConstantPackage.FENG_HUO_JIA_REN_YAO_NAME);     // 37、䷤（风火家人），从下至上爻名：初九, 六二, 九三, 六四, 九五, 上九
            put(Constant.HUO_ZE_KUI_AS, ConstantPackage.HUO_ZE_KUI_YAO_NAME);                 // 38、䷥（火泽睽），从下至上爻名：初九, 九二, 六三, 九四, 六五, 上九
            put(Constant.SHUI_SHAN_JIAN_AS, ConstantPackage.SHUI_SHAN_JIAN_YAO_NAME);         // 39、䷦（水山蹇），从下至上爻名：初六, 六二, 九三, 六四, 九五, 上六
            put(Constant.LEI_SHUI_XIE_AS, ConstantPackage.LEI_SHUI_XIE_YAO_NAME);             // 40、䷧（雷水解），从下至上爻名：初六, 九二, 六三, 九四, 六五, 上六
            put(Constant.SHAN_ZE_SUN_AS, ConstantPackage.SHAN_ZE_SUN_YAO_NAME);               // 41、䷨（山泽损），从下至上爻名：初九, 九二, 六三, 六四, 六五, 上九
            put(Constant.FENG_LEI_YI_AS, ConstantPackage.FENG_LEI_YI_YAO_NAME);               // 42、䷩（风雷益），从下至上爻名：初九, 六二, 六三, 六四, 九五, 上九
            put(Constant.ZE_TIAN_GUAI_AS, ConstantPackage.ZE_TIAN_GUAI_YAO_NAME);             // 43、䷪（泽天夬），从下至上爻名：初九, 九二, 九三, 九四, 九五, 上六
            put(Constant.TIAN_FENG_GOU_AS, ConstantPackage.TIAN_FENG_GOU_YAO_NAME);           // 44、䷫（天风姤），从下至上爻名：初六, 九二, 九三, 九四, 九五, 上九
            put(Constant.ZE_DI_CUI_AS, ConstantPackage.ZE_DI_CUI_YAO_NAME);                   // 45、䷬（泽地萃），从下至上爻名：初六, 六二, 六三, 九四, 九五, 上六
            put(Constant.DI_FENG_SHENG_AS, ConstantPackage.DI_FENG_SHENG_YAO_NAME);           // 46、䷭（地风升），从下至上爻名：初六, 九二, 九三, 六四, 六五, 上六
            put(Constant.ZE_SHUI_KUN_AS, ConstantPackage.ZE_SHUI_KUN_YAO_NAME);               // 47、䷮（泽水困），从下至上爻名：初六, 九二, 六三, 九四, 九五, 上六
            put(Constant.SHUI_FENG_JING_AS, ConstantPackage.SHUI_FENG_JING_YAO_NAME);         // 48、䷯（水风井），从下至上爻名：初六, 九二, 九三, 六四, 九五, 上六
            put(Constant.ZE_HUO_GE_AS, ConstantPackage.ZE_HUO_GE_YAO_NAME);                   // 49、䷰（泽火革），从下至上爻名：初九, 六二, 九三, 九四, 九五, 上六
            put(Constant.HUO_FENG_DING_AS, ConstantPackage.HUO_FENG_DING_YAO_NAME);           // 50、䷱（火风鼎），从下至上爻名：初六, 九二, 九三, 九四, 六五, 上九
            put(Constant.ZHEN_WEI_LEI_AS, ConstantPackage.ZHEN_WEI_LEI_YAO_NAME);             // 51、䷲（震为雷），从下至上爻名：初九, 六二, 六三, 九四, 六五, 上六
            put(Constant.GEN_WEI_SHAN_AS, ConstantPackage.GEN_WEI_SHAN_YAO_NAME);             // 52、䷳（艮为山），从下至上爻名：初六, 六二, 九三, 六四, 六五, 上九
            put(Constant.FENG_SHAN_JIAN_AS, ConstantPackage.FENG_SHAN_JIAN_YAO_NAME);         // 53、䷴（风山渐），从下至上爻名：初六, 六二, 九三, 六四, 九五, 上九
            put(Constant.LEI_ZE_GUI_MEI_AS, ConstantPackage.LEI_ZE_GUI_MEI_YAO_NAME);         // 54、䷵（雷泽归妹），从下至上爻名：初九, 九二, 六三, 九四, 六五, 上六
            put(Constant.LEI_HUO_FENG_AS, ConstantPackage.LEI_HUO_FENG_YAO_NAME);             // 55、䷶（雷火丰），从下至上爻名：初九, 六二, 九三, 九四, 六五, 上六
            put(Constant.HUO_SHAN_LV_AS, ConstantPackage.HUO_SHAN_LV_YAO_NAME);               // 56、䷷（火山旅），从下至上爻名：初六, 六二, 九三, 九四, 六五, 上九
            put(Constant.XUN_WEI_FENG_AS, ConstantPackage.XUN_WEI_FENG_YAO_NAME);             // 57、䷸（巽为风），从下至上爻名：初六, 九二, 九三, 六四, 九五, 上九
            put(Constant.DUI_WEI_ZE_AS, ConstantPackage.DUI_WEI_ZE_YAO_NAME);                 // 58、䷹（兑为泽），从下至上爻名：初九, 九二, 六三, 九四, 九五, 上六
            put(Constant.FENG_SHUI_HUAN_AS, ConstantPackage.FENG_SHUI_HUAN_YAO_NAME);         // 59、䷺（风水涣），从下至上爻名：初六, 九二, 六三, 六四, 九五, 上九
            put(Constant.SHUI_ZE_JIE_AS, ConstantPackage.SHUI_ZE_JIE_YAO_NAME);               // 60、䷻（水泽节），从下至上爻名：初九, 九二, 六三, 六四, 九五, 上六
            put(Constant.FENG_ZE_ZHONG_FU_AS, ConstantPackage.FENG_ZE_ZHONG_FU_YAO_NAME);     // 61、䷼（风泽中孚），从下至上爻名：初九, 九二, 六三, 六四, 九五, 上九
            put(Constant.LEI_SHAN_XIAO_GUO_AS, ConstantPackage.LEI_SHAN_XIAO_GUO_YAO_NAME);   // 62、䷽（雷山小过），从下至上爻名：初六, 六二, 九三, 九四, 六五, 上六
            put(Constant.SHUI_HUO_JI_JI_AS, ConstantPackage.SHUI_HUO_JI_JI_YAO_NAME);         // 63、䷾（水火既济），从下至上爻名：初九, 六二, 九三, 六四, 九五, 上六
            put(Constant.HUO_SHUI_WEI_JI_AS, ConstantPackage.HUO_SHUI_WEI_JI_YAO_NAME);       // 64、䷿（火水未济），从下至上爻名：初六, 九二, 六三, 九四, 六五, 上九

        }

    };

    /**
     * 六十四卦每一卦中的六爻爻辞（顺序依次为：初爻、二爻、三爻、四爻、五爻、上爻）
     */
    public static final Map<String, List<String>> LIU_SHI_SI_GUA_LIU_YAO_YAO_CI = new HashMap<String, List<String>>() {

        private static final long serialVersionUID = -1;

        {
            // 例：䷀（乾为天）。从下至上→ 初九：潜龙勿用； 九二：见龙在田，利见大人； 九三：君子终日乾乾，夕惕若厉，无咎； 九四：或跃在渊，无咎； 九五：飞龙在天，利见大人； 上九：亢龙有悔。
            put(Constant.QIAN_WEI_TIAN_AS, ConstantPackage.QIAN_WEI_TIAN_YAO_INFO);           // 1、䷀（乾为天）
            put(Constant.KUN_WEI_DI_AS, ConstantPackage.KUN_WEI_DI_YAO_INFO);                 // 2、䷁（坤为地）
            put(Constant.SHUI_LEI_ZHUN_AS, ConstantPackage.SHUI_LEI_ZHUN_YAO_INFO);           // 3、䷂（水雷屯）
            put(Constant.SHAN_SHUI_MENG_AS, ConstantPackage.SHAN_SHUI_MENG_YAO_INFO);         // 4、䷃（山水蒙）
            put(Constant.SHUI_TIAN_XU_AS, ConstantPackage.SHUI_TIAN_XU_YAO_INFO);             // 5、䷄（水天需）
            put(Constant.TIAN_SHUI_SONG_AS, ConstantPackage.TIAN_SHUI_SONG_YAO_INFO);         // 6、䷅（天水讼）
            put(Constant.DI_SHUI_SHI_AS, ConstantPackage.DI_SHUI_SHI_YAO_INFO);               // 7、䷆（地水师）
            put(Constant.SHUI_DI_BI_AS, ConstantPackage.SHUI_DI_BI_YAO_INFO);                 // 8、䷇（水地比）
            put(Constant.FENG_TIAN_XIAO_CHU_AS, ConstantPackage.FENG_TIAN_XIAO_CHU_YAO_INFO); // 9、䷈（风天小畜)
            put(Constant.TIAN_ZE_LV_AS, ConstantPackage.TIAN_ZE_LV_YAO_INFO);                 // 10、䷉（天泽履）
            put(Constant.DI_TIAN_TAI_AS, ConstantPackage.DI_TIAN_TAI_YAO_INFO);               // 11、䷊（地天泰）
            put(Constant.TIAN_DI_PI_AS, ConstantPackage.TIAN_DI_PI_YAO_INFO);                 // 12、䷋（天地否）
            put(Constant.TIAN_HUO_TONG_REN_AS, ConstantPackage.TIAN_HUO_TONG_REN_YAO_INFO);   // 13、䷌（天火同人）
            put(Constant.HUO_TIAN_DA_YOU_AS, ConstantPackage.HUO_TIAN_DA_YOU_YAO_INFO);       // 14、䷍（火天大有）
            put(Constant.DI_SHAN_QIAN_AS, ConstantPackage.DI_SHAN_QIAN_YAO_INFO);             // 15、䷎（地山谦）
            put(Constant.LEI_DI_YU_AS, ConstantPackage.LEI_DI_YU_YAO_INFO);                   // 16、䷏（雷地豫）
            put(Constant.ZE_LEI_SU_AS, ConstantPackage.ZE_LEI_SUI_YAO_INFO);                  // 17、䷐（泽雷随）
            put(Constant.SHAN_FENG_GU_AS, ConstantPackage.SHAN_FENG_GU_YAO_INFO);             // 18、䷑（山风蛊）
            put(Constant.DI_ZE_LIN_AS, ConstantPackage.DI_ZE_LIN_YAO_INFO);                   // 19、䷒（地泽临）
            put(Constant.FENG_DI_GUAN_AS, ConstantPackage.FENG_DI_GUAN_YAO_INFO);             // 20、䷓（风地观）
            put(Constant.HUO_LEI_SHI_HE_AS, ConstantPackage.HUO_LEI_SHI_HE_YAO_INFO);         // 21、䷔（火雷噬嗑）
            put(Constant.SHAN_HUO_BI_AS, ConstantPackage.SHAN_HUO_BI_YAO_INFO);               // 22、䷕（山火贲）
            put(Constant.SHAN_DI_BO_AS, ConstantPackage.SHAN_DI_BO_YAO_INFO);                 // 23、䷖（山地剥）
            put(Constant.DI_LEI_FU_AS, ConstantPackage.DI_LEI_FU_YAO_INFO);                   // 24、䷗（地雷复）
            put(Constant.TIAN_LEI_WU_WANG_AS, ConstantPackage.TIAN_LEI_WU_WANG_YAO_INFO);     // 25、䷘（天雷无妄）
            put(Constant.SHAN_TIAN_DA_XU_AS, ConstantPackage.SHAN_TIAN_DA_XU_YAO_INFO);     // 26、䷙（山天大畜）
            put(Constant.SHAN_LEI_YI_AS, ConstantPackage.SHAN_LEI_YI_YAO_INFO);               // 27、䷚（山雷颐）
            put(Constant.ZE_FENG_DA_GUO_AS, ConstantPackage.ZE_FENG_DA_GUO_YAO_INFO);         // 28、䷛（泽风大过）
            put(Constant.KAN_WEI_SHUI_AS, ConstantPackage.KAN_WEI_SHUI_YAO_INFO);             // 29、䷜（坎为水）
            put(Constant.LI_WEI_HUO_AS, ConstantPackage.LI_WEI_HUO_YAO_INFO);                 // 30、䷝（离为火）
            put(Constant.ZE_SHAN_XIAN_AS, ConstantPackage.ZE_SHAN_XIAN_YAO_INFO);             // 31、䷞（泽山咸）
            put(Constant.LEI_FENG_HENG_AS, ConstantPackage.LEI_FENG_HENG_YAO_INFO);           // 32、䷟（雷风恒）
            put(Constant.TIAN_SHAN_DUN_AS, ConstantPackage.TIAN_SHAN_DUN_YAO_INFO);           // 33、䷠（天山遁）
            put(Constant.LEI_TIAN_DA_ZHUANG_AS, ConstantPackage.LEI_TIAN_DA_ZHUANG_YAO_INFO); // 34、䷡（雷天大壮）
            put(Constant.HUO_DI_JIN_AS, ConstantPackage.HUO_DI_JIN_YAO_INFO);                 // 35、䷢（火地晋）
            put(Constant.DI_HUO_MING_YI_AS, ConstantPackage.DI_HUO_MING_YI_YAO_INFO);         // 36、䷣（地火明夷）
            put(Constant.FENG_HUO_JIA_REN_AS, ConstantPackage.FENG_HUO_JIA_REN_YAO_INFO);     // 37、䷤（风火家人）
            put(Constant.HUO_ZE_KUI_AS, ConstantPackage.HUO_ZE_KUI_YAO_INFO);                 // 38、䷥（火泽睽）
            put(Constant.SHUI_SHAN_JIAN_AS, ConstantPackage.SHUI_SHAN_JIAN_YAO_INFO);         // 39、䷦（水山蹇）
            put(Constant.LEI_SHUI_XIE_AS, ConstantPackage.LEI_SHUI_XIE_YAO_INFO);             // 40、䷧（雷水解）
            put(Constant.SHAN_ZE_SUN_AS, ConstantPackage.SHAN_ZE_SUN_YAO_INFO);               // 41、䷨（山泽损）
            put(Constant.FENG_LEI_YI_AS, ConstantPackage.FENG_LEI_YI_YAO_INFO);               // 42、䷩（风雷益）
            put(Constant.ZE_TIAN_GUAI_AS, ConstantPackage.ZE_TIAN_GUAI_YAO_INFO);             // 43、䷪（泽天夬）
            put(Constant.TIAN_FENG_GOU_AS, ConstantPackage.TIAN_FENG_GOU_YAO_INFO);           // 44、䷫（天风姤）
            put(Constant.ZE_DI_CUI_AS, ConstantPackage.ZE_DI_CUI_YAO_INFO);                   // 45、䷬（泽地萃）
            put(Constant.DI_FENG_SHENG_AS, ConstantPackage.DI_FENG_SHENG_YAO_INFO);           // 46、䷭（地风升）
            put(Constant.ZE_SHUI_KUN_AS, ConstantPackage.ZE_SHUI_KUN_YAO_INFO);               // 47、䷮（泽水困）
            put(Constant.SHUI_FENG_JING_AS, ConstantPackage.SHUI_FENG_JING_YAO_INFO);         // 48、䷯（水风井）
            put(Constant.ZE_HUO_GE_AS, ConstantPackage.ZE_HUO_GE_YAO_INFO);                   // 49、䷰（泽火革）
            put(Constant.HUO_FENG_DING_AS, ConstantPackage.HUO_FENG_DING_YAO_INFO);           // 50、䷱（火风鼎）
            put(Constant.ZHEN_WEI_LEI_AS, ConstantPackage.ZHEN_WEI_LEI_YAO_INFO);             // 51、䷲（震为雷）
            put(Constant.GEN_WEI_SHAN_AS, ConstantPackage.GEN_WEI_SHAN_YAO_INFO);             // 52、䷳（艮为山）
            put(Constant.FENG_SHAN_JIAN_AS, ConstantPackage.FENG_SHAN_JIAN_YAO_INFO);         // 53、䷴（风山渐）
            put(Constant.LEI_ZE_GUI_MEI_AS, ConstantPackage.LEI_ZE_GUI_MEI_YAO_INFO);         // 54、䷵（雷泽归妹）
            put(Constant.LEI_HUO_FENG_AS, ConstantPackage.LEI_HUO_FENG_YAO_INFO);             // 55、䷶（雷火丰）
            put(Constant.HUO_SHAN_LV_AS, ConstantPackage.HUO_SHAN_LV_YAO_INFO);               // 56、䷷（火山旅）
            put(Constant.XUN_WEI_FENG_AS, ConstantPackage.XUN_WEI_FENG_YAO_INFO);             // 57、䷸（巽为风）
            put(Constant.DUI_WEI_ZE_AS, ConstantPackage.DUI_WEI_ZE_YAO_INFO);                 // 58、䷹（兑为泽）
            put(Constant.FENG_SHUI_HUAN_AS, ConstantPackage.FENG_SHUI_HUAN_YAO_INFO);         // 59、䷺（风水涣）
            put(Constant.SHUI_ZE_JIE_AS, ConstantPackage.SHUI_ZE_JIE_YAO_INFO);               // 60、䷻（水泽节）
            put(Constant.FENG_ZE_ZHONG_FU_AS, ConstantPackage.FENG_ZE_ZHONG_FU_YAO_INFO);     // 61、䷼（风泽中孚）
            put(Constant.LEI_SHAN_XIAO_GUO_AS, ConstantPackage.LEI_SHAN_XIAO_GUO_YAO_INFO);   // 62、䷽（雷山小过）
            put(Constant.SHUI_HUO_JI_JI_AS, ConstantPackage.SHUI_HUO_JI_JI_YAO_INFO);         // 63、䷾（水火既济）
            put(Constant.HUO_SHUI_WEI_JI_AS, ConstantPackage.HUO_SHUI_WEI_JI_YAO_INFO);       // 64、䷿（火水未济）
        }

    };

    /**
     * 本卦 变 变卦
     */
    public static final Map<Integer, List<Integer>> BIAN_GUA = new HashMap<Integer, List<Integer>>() {
        private static final long serialVersionUID = -1;

        {
            // 乾一、兑二、离三、震四、巽五、坎六、艮七、坤八
            put(1, Arrays.asList(5, 3, 2)); // 乾卦（☰），动爻数为：1或4时变为巽[☴]，2或5时变为离[☲]，3或6时变为兑[☱]
            put(2, Arrays.asList(6, 4, 1)); // 兑卦（☱），动爻数为：1或4时变为坎[☵]，2或5时变为震[☳]，3或6时变为乾[☰]
            put(3, Arrays.asList(7, 1, 4)); // 离卦（☲），动爻数为：1或4时变为艮[☶]，2或5时变为乾[☰]，3或6时变为震[☳]
            put(4, Arrays.asList(8, 2, 3)); // 震卦（☳），动爻数为：1或4时变为坤[☷]，2或5时变为兑[☱]，3或6时变为离[☲]
            put(5, Arrays.asList(1, 7, 6)); // 巽卦（☴），动爻数为：1或4时变为乾[☰]，2或5时变为艮[☶]，3或6时变为坎[☵]
            put(6, Arrays.asList(2, 8, 5)); // 坎卦（☵），动爻数为：1或4时变为兑[☱]，2或5时变为坤[☷]，3或6时变为巽[☴]
            put(7, Arrays.asList(3, 5, 8)); // 艮卦（☶），动爻数为：1或4时变为离[☲]，2或5时变为巽[☴]，3或6时变为坤[☷]
            put(8, Arrays.asList(4, 6, 7)); // 坤卦（☷），动爻数为：1或4时变为震[☳]，2或5时变为坎[☵]，3或6时变为艮[☶]

        }
    };

    /**
     * 本卦 变（互卦、错卦、综卦）
     *
     * <p> ☆互卦：本卦的二三四爻做互卦的下卦、本卦的三四五卦做互卦的上卦 </p>
     * <p> ☆错卦：本卦阳爻变阴爻，阴爻变阳爻</p>
     * <p> ☆综卦：本卦上下180°旋转</p>
     */
    public static final Map<String, List<String>> HU_CUO_ZONG = new HashMap<String, List<String>>() {
        private static final long serialVersionUID = -1;

        {
            // 例：本卦为䷀（乾为天）。变化后→ 互卦为䷀（乾为天），错卦为䷁（坤为地），综卦为䷀（乾为天）

            //  本卦                 互卦  错卦  综卦
            put("䷀", Arrays.asList("䷀", "䷁", "䷀")); // 1、本卦为䷀（乾为天）。   变化后→ 互卦为䷀（乾为天），错卦为䷁（坤为地），综卦为䷀（乾为天）
            put("䷁", Arrays.asList("䷁", "䷀", "䷁")); // 2、本卦为䷁（坤为地）。   变化后→ 互卦为䷁（坤为地），错卦为䷀（乾为天），综卦为䷁（坤为地）
            put("䷂", Arrays.asList("䷖", "䷱", "䷃")); // 3、本卦为䷂（水雷屯）。   变化后→ 互卦为䷖（山地剥），错卦为䷱（火风鼎），综卦为䷃（山水蒙）
            put("䷃", Arrays.asList("䷗", "䷰", "䷂")); // 4、本卦为䷃（山水蒙）。   变化后→ 互卦为䷗（地雷复），错卦为䷰（泽火革），综卦为䷂（水雷屯）
            put("䷄", Arrays.asList("䷥", "䷢", "䷅")); // 5、本卦为䷄（水天需）。   变化后→ 互卦为䷥（火泽睽），错卦为䷢（火地晋），综卦为䷅（天水讼）
            put("䷅", Arrays.asList("䷤", "䷣", "䷄")); // 6、本卦为䷅（天水讼）。   变化后→ 互卦为䷤（风火家人），错卦为䷣（地火明夷），综卦为䷄（水天需）
            put("䷆", Arrays.asList("䷗", "䷌", "䷇")); // 7、本卦为䷆（地水师）。   变化后→ 互卦为䷗（地雷复），错卦为䷌（天火同人），综卦为䷇（水地比）
            put("䷇", Arrays.asList("䷖", "䷍", "䷆")); // 8、本卦为䷇（水地比）。   变化后→ 互卦为䷖（山地剥），错卦为䷍（火天大有），综卦为䷆（地水师）
            put("䷈", Arrays.asList("䷥", "䷏", "䷉")); // 9、本卦为䷈（风天小畜)。  变化后→ 互卦为䷥（火泽睽），错卦为䷏（雷地豫），综卦为䷉（天泽履）
            put("䷉", Arrays.asList("䷤", "䷎", "䷈")); // 10、本卦为䷉（天泽履）。  变化后→ 互卦为䷤（风火家人），错卦为䷎（地山谦），综卦为䷈（风天小畜）
            put("䷊", Arrays.asList("䷵", "䷋", "䷋")); // 11、本卦为䷊（地天泰）。  变化后→ 互卦为䷵（雷泽归妹），错卦为䷋（天地否），综卦为䷋（天地否）
            put("䷋", Arrays.asList("䷴", "䷊", "䷊")); // 12、本卦为䷋（天地否）。  变化后→ 互卦为䷴（风山渐），错卦为䷊（地天泰），综卦为䷊（地天泰）
            put("䷌", Arrays.asList("䷫", "䷆", "䷍")); // 13、本卦为䷌（天火同人）。变化后→ 互卦为䷫（天风姤），错卦为䷆（地水师），综卦为䷍（火天大有）
            put("䷍", Arrays.asList("䷪", "䷇", "䷌")); // 14、本卦为䷍（火天大有）。变化后→ 互卦为䷪（泽天夬），错卦为䷇（水地比），综卦为䷌（天火同人）
            put("䷎", Arrays.asList("䷧", "䷉", "䷏")); // 15、本卦为䷎（地山谦）。  变化后→ 互卦为䷧（雷水解），错卦为䷉（天泽履），综卦为䷏（雷地豫）
            put("䷏", Arrays.asList("䷦", "䷈", "䷎")); // 16、本卦为䷏（雷地豫）。  变化后→ 互卦为䷦（水山蹇），错卦为䷈（风天小畜），综卦为䷎（地山谦）
            put("䷐", Arrays.asList("䷴", "䷑", "䷑")); // 17、本卦为䷐（泽雷随）。  变化后→ 互卦为䷴（风山渐），错卦为䷑（山风蛊），综卦为䷑（山风蛊）
            put("䷑", Arrays.asList("䷵", "䷐", "䷐")); // 18、本卦为䷑（山风蛊）。  变化后→ 互卦为䷵（雷泽归妹），错卦为䷐（泽雷随），综卦为䷐（泽雷随）
            put("䷒", Arrays.asList("䷗", "䷠", "䷓")); // 19、本卦为䷒（地泽临）。  变化后→ 互卦为䷗（地雷复），错卦为䷠（天山遁），综卦为䷓（风地观）
            put("䷓", Arrays.asList("䷖", "䷡", "䷒")); // 20、本卦为䷓（风地观）。  变化后→ 互卦为䷖（山地剥），错卦为䷡（雷天大壮），综卦为䷒（地泽临）
            put("䷔", Arrays.asList("䷦", "䷯", "䷕")); // 21、本卦为䷔（火雷噬嗑）。变化后→ 互卦为䷦（水山蹇），错卦为䷯（水风井），综卦为䷕（山火贲）
            put("䷕", Arrays.asList("䷧", "䷮", "䷔")); // 22、本卦为䷕（山火贲）。  变化后→ 互卦为䷧（雷水解），错卦为䷮（泽水困），综卦为䷔（火雷噬嗑）
            put("䷖", Arrays.asList("䷁", "䷪", "䷗")); // 23、本卦为䷖（山地剥）。  变化后→ 互卦为䷁（坤为地），错卦为䷪（泽天夬），综卦为䷗（地雷复）
            put("䷗", Arrays.asList("䷁", "䷫", "䷖")); // 24、本卦为䷗（地雷复）。  变化后→ 互卦为䷁（坤为地），错卦为䷫（天风姤），综卦为䷖（山地剥）
            put("䷘", Arrays.asList("䷴", "䷭", "䷙")); // 25、本卦为䷘（天雷无妄）。变化后→ 互卦为䷴（风山渐），错卦为䷭（地风升），综卦为䷙（山天大畜）
            put("䷙", Arrays.asList("䷵", "䷬", "䷘")); // 26、本卦为䷙（山天大畜）。变化后→ 互卦为䷵（雷泽归妹），错卦为䷬（泽地萃），综卦为䷘（天雷无妄）
            put("䷚", Arrays.asList("䷁", "䷛", "䷚")); // 27、本卦为䷚（山雷颐）。  变化后→ 互卦为䷁（坤为地），错卦为䷛（泽风大过），综卦为䷚（山雷颐）
            put("䷛", Arrays.asList("䷀", "䷚", "䷛")); // 28、本卦为䷛（泽风大过）。变化后→ 互卦为䷀（乾为天），错卦为䷚（山雷颐），综卦为䷛（泽风大过）
            put("䷜", Arrays.asList("䷚", "䷝", "䷜")); // 29、本卦为䷜（坎为水）。  变化后→ 互卦为䷚（山雷颐），错卦为䷝（离为火），综卦为䷜（坎为水）
            put("䷝", Arrays.asList("䷛", "䷜", "䷝")); // 30、本卦为䷝（离为火）。  变化后→ 互卦为䷛（泽风大过），错卦为䷜（坎为水），综卦为䷝（离为火）
            put("䷞", Arrays.asList("䷫", "䷨", "䷟")); // 31、本卦为䷞（泽山咸）。  变化后→ 互卦为䷫（天风姤），错卦为䷨（山泽损），综卦为䷟（雷风恒）
            put("䷟", Arrays.asList("䷪", "䷩", "䷞")); // 32、本卦为䷟（雷风恒）。  变化后→ 互卦为䷪（泽天夬），错卦为䷩（风雷益），综卦为䷞（泽山咸）
            put("䷠", Arrays.asList("䷫", "䷒", "䷡")); // 33、本卦为䷠（天山遁）。  变化后→ 互卦为䷫（天风姤），错卦为䷒（地泽临），综卦为䷡（雷天大壮）
            put("䷡", Arrays.asList("䷪", "䷓", "䷠")); // 34、本卦为䷡（雷天大壮）。变化后→ 互卦为䷪（泽天夬），错卦为䷓（风地观），综卦为䷠（天山遁）
            put("䷢", Arrays.asList("䷦", "䷄", "䷣")); // 35、本卦为䷢（火地晋）。  变化后→ 互卦为䷦（水山蹇），错卦为䷄（水天需），综卦为䷣（地火明夷）
            put("䷣", Arrays.asList("䷧", "䷅", "䷢")); // 36、本卦为䷣（地火明夷）。变化后→ 互卦为䷧（雷水解），错卦为䷅（天水讼），综卦为䷢（火地晋）
            put("䷤", Arrays.asList("䷿", "䷧", "䷥")); // 37、本卦为䷤（风火家人）。变化后→ 互卦为䷿（火水未济），错卦为䷧（雷水解），综卦为䷥（火泽睽）
            put("䷥", Arrays.asList("䷾", "䷦", "䷤")); // 38、本卦为䷥（火泽睽）。  变化后→ 互卦为䷾（水火既济），错卦为䷦（水山蹇），综卦为䷤（风火家人）
            put("䷦", Arrays.asList("䷿", "䷥", "䷧")); // 39、本卦为䷦（水山蹇）。  变化后→ 互卦为䷿（火水未济），错卦为䷥（火泽睽），综卦为䷧（雷水解）
            put("䷧", Arrays.asList("䷾", "䷤", "䷦")); // 40、本卦为䷧（雷水解）。  变化后→ 互卦为䷾（水火既济），错卦为䷤（风火家人），综卦为䷦（水山蹇）
            put("䷨", Arrays.asList("䷗", "䷞", "䷩")); // 41、本卦为䷨（山泽损）。  变化后→ 互卦为䷗（地雷复），错卦为䷞（泽山咸），综卦为䷩（风雷益）
            put("䷩", Arrays.asList("䷖", "䷟", "䷨")); // 42、本卦为䷩（风雷益）。  变化后→ 互卦为䷖（山地剥），错卦为䷟（雷风恒），综卦为䷨（山泽损）
            put("䷪", Arrays.asList("䷀", "䷖", "䷫")); // 43、本卦为䷪（泽天夬）。  变化后→ 互卦为䷀（乾为天），错卦为䷖（山地剥），综卦为䷫（天风姤）
            put("䷫", Arrays.asList("䷀", "䷗", "䷪")); // 44、本卦为䷫（天风姤）。  变化后→ 互卦为䷀（乾为天），错卦为䷗（地雷复），综卦为䷪（泽天夬）
            put("䷬", Arrays.asList("䷴", "䷙", "䷭")); // 45、本卦为䷬（泽地萃）。  变化后→ 互卦为䷴（风山渐），错卦为䷙（山天大畜），综卦为䷭（地风升）
            put("䷭", Arrays.asList("䷵", "䷘", "䷬")); // 46、本卦为䷭（地风升）。  变化后→ 互卦为䷵（雷泽归妹），错卦为䷘（天雷无妄），综卦为䷬（泽地萃）
            put("䷮", Arrays.asList("䷤", "䷕", "䷯")); // 47、本卦为䷮（泽水困）。  变化后→ 互卦为䷤（风火家人），错卦为䷕（山火贲），综卦为䷯（水风井）
            put("䷯", Arrays.asList("䷥", "䷔", "䷮")); // 48、本卦为䷯（水风井）。  变化后→ 互卦为䷥（火泽睽），错卦为䷔（火雷噬嗑），综卦为䷮（泽水困）
            put("䷰", Arrays.asList("䷫", "䷃", "䷱")); // 49、本卦为䷰（泽火革）。  变化后→ 互卦为䷫（天风姤），错卦为䷃（山水蒙），综卦为䷱（火风鼎）
            put("䷱", Arrays.asList("䷪", "䷂", "䷰")); // 50、本卦为䷱（火风鼎）。  变化后→ 互卦为䷪（泽天夬），错卦为䷂（水雷屯），综卦为䷰（泽火革）
            put("䷲", Arrays.asList("䷦", "䷸", "䷳")); // 51、本卦为䷲（震为雷）。  变化后→ 互卦为䷦（水山蹇），错卦为䷸（巽为风），综卦为䷳（艮为山）
            put("䷳", Arrays.asList("䷧", "䷹", "䷲")); // 52、本卦为䷳（艮为山）。  变化后→ 互卦为䷧（雷水解），错卦为䷹（兑为泽），综卦为䷲（震为雷）
            put("䷴", Arrays.asList("䷿", "䷵", "䷵")); // 53、本卦为䷴（风山渐）。  变化后→ 互卦为䷿（火水未济），错卦为䷵（雷泽归妹），综卦为䷵（雷泽归妹）
            put("䷵", Arrays.asList("䷾", "䷴", "䷴")); // 54、本卦为䷵（雷泽归妹）。变化后→ 互卦为䷾（水火既济），错卦为䷴（风山渐），综卦为䷴（风山渐）
            put("䷶", Arrays.asList("䷛", "䷺", "䷷")); // 55、本卦为䷶（雷火丰）。  变化后→ 互卦为䷛（泽风大过），错卦为䷺（风水涣），综卦为䷷（火山旅）
            put("䷷", Arrays.asList("䷛", "䷻", "䷶")); // 56、本卦为䷷（火山旅）。  变化后→ 互卦为䷛（泽风大过），错卦为䷻（水泽节），综卦为䷶（雷火丰）
            put("䷸", Arrays.asList("䷥", "䷲", "䷹")); // 57、本卦为䷸（巽为风）。  变化后→ 互卦为䷥（火泽睽），错卦为䷲（震为雷），综卦为䷹（兑为泽）
            put("䷹", Arrays.asList("䷤", "䷳", "䷸")); // 58、本卦为䷹（兑为泽）。  变化后→ 互卦为䷤（风火家人），错卦为䷳（艮为山），综卦为䷸（巽为风）
            put("䷺", Arrays.asList("䷚", "䷶", "䷻")); // 59、本卦为䷺（风水涣）。  变化后→ 互卦为䷚（山雷颐），错卦为䷶（雷火丰），综卦为䷻（水泽节）
            put("䷻", Arrays.asList("䷚", "䷷", "䷺")); // 60、本卦为䷻（水泽节）。  变化后→ 互卦为䷚（山雷颐），错卦为䷷（火山旅），综卦为䷺（风水涣）
            put("䷼", Arrays.asList("䷚", "䷽", "䷽")); // 61、本卦为䷼（风泽中孚）。变化后→ 互卦为䷚（山雷颐），错卦为䷽（雷山小过），综卦为䷽（雷山小过）
            put("䷽", Arrays.asList("䷛", "䷼", "䷼")); // 62、本卦为䷽（雷山小过）。变化后→ 互卦为䷛（泽风大过），错卦为䷼（风泽中孚），综卦为䷼（风泽中孚）
            put("䷾", Arrays.asList("䷿", "䷿", "䷿")); // 63、本卦为䷾（水火既济）。变化后→ 互卦为䷿（火水未济），错卦为䷿（火水未济），综卦为䷿（火水未济）
            put("䷿", Arrays.asList("䷾", "䷾", "䷾")); // 64、本卦为䷿（火水未济）。变化后→ 互卦为䷾（水火既济），错卦为䷾（水火既济），综卦为䷾（水火既济）

        }
    };


}
